package 异常的处理.异常的捕获.finallY;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 姚东名
 * Date: 2024-06-21
 * Time: 19:03
 */
/*
在写写程序中，有些特定的代码，无论程序是否发生异常，都需要执行，比如程序中打开的资源：网络连接、数据库
连接、IO流等，在程序正常或异常退出时，必须要对资源进行回收，另外，因为异常会引起程序的跳转，可能会导致
有些语句执行不到，finally就是用来解决这个问题的。
语法格式：
try {
    //可能会发生异常的代码
} catch(异常类型 e) {
    //对捕获到的异常进行处理
} finally {
    //此处的语句无论是否发生异常，都会被执行到
}
//如果没有抛出异常，或者异常被捕获处理了，这里的代码也会执行

 */
public class Test {
    public static void main(String[] args) {
        try {
            int[] array = {1, 2, 3, 4, 5};
            array[10] = 10;
            array[0] = 0;
        } catch (ArrayIndexOutOfBoundsException e) {
            e.printStackTrace();
        } finally {
            System.out.println("finally中的代码一定会执行");
        }
        System.out.println("如果没有抛出异常，或者异常被处理掉了，try-catch后的代码也会被执行");
    }
}
